Методы, связанные с приближённым нахождением корня производной

Как уже отмечалось выше, если известно, что точка локального экстремума функции $ f(x)$ на отрезке $ [a;b]$ единственна и лежит внутри отрезка, то в этой точке $ x^*$ выполняется равенство $ f'(x^*)=0$. Таким образом, для нахождения точки локального минимума с точностью $ {\varepsilon}$ нужно с этой точностью найти корень уравнения $ f'(x)=0$. Будем предполагать, что для функции $ f'(x)$ известно аналитическое выражение или мы умеем вычислять значения $ f'(x)$ при заданном $ x$ каким-либо иным способом. Для нахождения корня мы можем применить один из приближённых методов решения уравнений, которые мы обсуждали в этой главе ранее.

Например, метод Ньютона, применённый к уравнению $ f'(x)=0$, даёт итерационную формулу (см. формулу (9.1)):

$\displaystyle x_{i+1}=x_i-\dfrac{f'(x_i)}{f''(x_i)},$

$ i=0,1,2,\dots$, причём для начала итераций нужно выбрать начальное приближение $ x_0$. При этом нужно будет уметь вычислять и вторую производную, а также предполагать, что она не обращается в 0 на интересующем нас отрезке.

Метод хорд даёт итерационную формулу (см. формулу (9.3)):

$\displaystyle x_{i+1}=x_i-\dfrac{f'(x_i)}{\dfrac{f'(x_i)-f'(x_{i-1})}{x_i-x_{i-1}}},$

$ i=1,2,3,\dots$, причём для начала нужно выбрать два начальных значения $ x_0$ и $ x_1$.

Эти методы весьма эффективны, если выполняются условия их применимости. Их достоинства и недостатки -- продолжение тех же свойств соответствующих методов приближённого поиска корня.

        Пример 9.11   Найдём локальные экстремумы, в том числе минимальное значение, функции $ f(x)=x^4-5x^3+6x-1$. Производная этой функции равна $ f'(x)=4x^3-15x^2+6$. Нетрудно видеть, вычислив, например, значения функции в точках $ -1,0,1,2,3,4$, что функция $ f'(x)$ имеет три корня $ x^{(1)}, x^{(2)}, x^{(3)}$, отделённых, соответственно, на отрезках $ [-1;0],[0;1],[3;4]$ (больше трёх корней многочлен третьей степени иметь не может). При переходе через каждый из этих корней производная меняет знак. Значит, функция $ f(x)$ имеет три локальных экстремума. Поскольку $ f(x)\to+\infty$ при $ x\to\pm\infty$, то нетрудно сообразить, что в точках $ x^{(1)}$ и $ x^{(3)}$ функция будет иметь локальный минимум, а в точке $ x^{(2)}$ -- локальный максимум. Один из двух локальных минимумов будет давать минимальное значение функции на всей оси $ Ox$.

Осталось найти точки $ x^{(1)},x^{(2)}$ и $ x^{(3)}$, вычислить в них значения функции и сравнить эти значения.

Точки $ x^{(k)}$ будем искать как корни уравнения $ f'(x)=0$, применяя метод Ньютона. Поскольку $ f''(x)=12x^2-30x$, то итерационная формула метода Ньютона для поиска любой из трёх точек $ x^{(k)}$ будет иметь вид

$\displaystyle x_{i+1}=x_i-\dfrac{4x_i^3-15x_i^2+6}{12x_i^2-30x_i}.$

Заметим, что поскольку $ f''(0)=0$, брать $ x_0=0$ в качестве начального приближения нельзя.

Точка $ x^{(1)}$ отделена на отрезке $ [-1;0]$, значит, возьмём за начальное приближение $ x_0=-1$. Далее, применяя итерационную формулу, получаем (с точностью $ {\varepsilon}=0.000001$):

$\displaystyle x_1=-0.690476;x_2=-0.597112;x_3=-0.588112;x_4=-0.588030;x_5=-0.588030.$

Значит, $ x^{(1)}=-0.588030$; вычисление значения функции $ f(x)$ даёт локальный минимум $ f(x^{(1)})=-3.391974$.

Беря за начальное приближение $ x_0=1$, получаем последовательные приближения к $ x^{(2)}$:

$\displaystyle x_1=0.722222;x_2=0.701634;x_3=0.701454;x_4=0.701454.$

Отсюда $ x^{(2)}=0.701454$; значение локального максимума таково: $ f(x^{(2)})=1.725116$.

Теперь возьмём за начальное приближение для $ x^{(3)}$ значение $ x_0=4$. Получаем последовательные приближения

$\displaystyle x_1=3.694445;x_2=3.638416;x_3=3.636578;x_4=3.636576;x_5=3.636576.$

Итак, $ x^{(3)}=3.636576$ и значение локального минимума равно $ f(x^{(3)})=-44.75112$.

Сравнивая два значения в точках локального минимума, получаем, что

$\displaystyle \min_{x\in\mathbb{R}}f(x)=f(x^{(3)})=-44.75112.$

Рис.9.18.Примерный график функции $ f(x)$


    

        Замечание 9.2   В случае, когда формулы для первой или второй производных функции $ f(x)$ неизвестны, но мы умеем вычислять значения самой функции $ f(x)$, можно попробовать воспользоваться формулами численного дифференцирования, которые мы обсуждали ранее, например:

$\displaystyle f'(x)\approx\dfrac{f(x+h)-f(x-h)}{2h}$

и

$\displaystyle f''(x)\approx\dfrac{f(x+h)-2f(x)+f(x-h)}{h^2},$

взяв в качестве шага $ h>0$ достаточно малое число (но не слишком уж малое: ранее мы видели, что выбор слишком малого шага в формулах численного дифференцирования приводит к большим погрешностям). Конечно, если мы применяем вместо производных их конечно-разностные аналоги, вычисленные с шагом $ h$, то нельзя надеяться, что приближённое значение $ \wt x$ для $ x^*$ может быть найдено с точностью $ {\varepsilon}<h$. Поэтому следует выбирать $ h<{\varepsilon}$ при заданной точности $ {\varepsilon}$, а поскольку на $ h$ есть ограничения снизу, то мы видим, что добиться таким образом очень малой погрешности при нахождении точки экстремума нельзя.